"""
1．直接赋值创建字典
语法： 变量名 = {键1: 值1, 键2: 值2, 键3: 值3,……}
字典的元素放在大括号中，元素之间用逗号分隔，“键”与“值”之间用冒号分隔。例如，创建一个学生信息字典，包括学生学号、姓名和年龄3个元素，可以用下面代码实现
"""
# 创建字典stu_info
# stu_info = {
#     'num': '20210101',
#     'name': '小蓝',
#     'age': 10
# }
# print(stu_info)
"""
2．使用内置函数dict()创建字典
使用内置函数dict()可通过其他字典、“(键,值)”对的序列或关键字参数来创建字典。例如，通过下面5种方式使用dict()函数可创建相同的字典
zip()函数将可迭代的对象作为参数，将对象中对应的元素打包成一个个元组，然后返回由这些元组组成的zip对象。
"""
#直接赋值创建字典
# stu_info1 = {'num': '20210101', 'name': '小蓝', 'age': 10}
# print(stu_info1)
#通过其他字典创建
# stu_info2 = dict(stu_info1)
# print(stu_info2)
# #通过“(键,值)”对的列表创建
# stu_info3 = dict([('num','20210101'),('name','小蓝'),('age',10)])
# print(stu_info3)
# #通过关键字参数创建
# stu_info4 = dict(num = '20210101', name = '小蓝', age = 10)
# print(stu_info4)
# #通过dict和zip结合创建
# stu_info5 =dict(zip(['num','name','age'],['20210101','小蓝',10]))
# print(stu_info5)

# # zip()函数 list()函数转换位列表输出
# list_str = ['a', 'b', 'c', 'd']  # 创建列表并赋值
# list_num = [1, 2, 3, 4]  # 创建列表并赋值
# list_new = zip(list_str, list_num)  # 打包为元组组成的zip对象
# # 用list()函数转换为列表输出，结果为[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
# print(list(list_new))


"""
3．使用fromkeys()方法创建字典
在Python中，当所有键对应同一个值时，可使用fromkeys()方法创建字典
语法：dict.fromkeys(seq[,value])
    seq为字典的“键”的列表；
    value为键对应的同一值，缺省时默认为None。
提示：字典中的“键”是唯一的，创建字典时若出现“键”相同的情况，则后定义的“键-值”对将覆盖先定义的“键-值”对
x = {'a': 1, 'b': 2, 'b':' 3'}			#直接赋值创建字典x
print(x)					            #输出字典x，结果为{'a':1,'b':'3'}
"""
#创建字典，“值”默认为None
stu_age1 = dict.fromkeys(['小蓝', '小舞'])
#输出stu_age1，结果为{'小蓝': None, '小舞': None}
print(stu_age1)
#创建字典，“值”赋为10
stu_age2 = dict.fromkeys(['小蓝', '小舞'], 10)
#输出stu_age2，结果为{'小蓝': 10, '小舞': 10}
print(stu_age2)